/**
 *
 */
package com.angel.resourceBundle.containers.propertyValues;

import java.util.Collection;

import com.angel.resourceBundle.propertyValue.PropertyValue;


/** {@link PropertyValueContainer} helps you to interact between repository and your application.
 *
 *
 * @author William
 * @since 15/04/2009
 *
 */
public interface PropertyValueContainer {

	public String getTextFor(String internationalizerName);

    public <T extends PropertyValue> Boolean containsPropertyValue(T propertyValue);

    public <T extends PropertyValue> void removePropertyValue(T propertyValue);

    public <T extends PropertyValue> void addPropertyValue(T propertyValue);

    public Collection<PropertyValue> getPropertiesValues();

    public <T extends PropertyValue> void addAllPropertiesValues(Collection<T> propertiesValues);

	public Collection<String> getPropertiesValuesText();

	public Long getPropertiesValuesSize();
}
